/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca8a.BL.AutorBLLocal;
import mx.itschapala.dsw2.biblioteca8a.BL.LibroBLLocal;
import mx.itschapala.dsw2.biblioteca8a.modelo.Autor;
import mx.itschapala.dsw2.biblioteca8a.modelo.Libro;

/**
 *
 * @book Raven
 */
@ManagedBean
@SessionScoped
public class LibroBean {
    @EJB
    private AutorBLLocal autorBL;
    @EJB
    private LibroBLLocal libroBL;
    //-----------------Variables------------------------
    private List<Libro> lista;
     private List<Autor> listaAutor;
    private Libro book;
    private String accion;
    private int idAutorSeleccionado;
    private int n;
    /**
     * Creates a new instance of LibroBean
     */
    public LibroBean() {
        book=new Libro();
    }

    public List<Libro> getLista() {
        lista=libroBL.getAll();
        return lista;
    }

    public List<Autor> getListaAutor() {
        listaAutor=autorBL.getAll();
        return listaAutor;
    }
    
 
    
       
        public Libro getBook() {
        return book;
    }

    public void setBook(Libro book) {
        this.book = book;
    }

    public int getIdAutorSeleccionado() {
        return idAutorSeleccionado;
    }

    public void setIdAutorSeleccionado(int idAutorSeleccionado) {
        this.idAutorSeleccionado = idAutorSeleccionado;
    }
    
    public String prepararAutor()
    {
        book.setIdautor(autorBL.findById(idAutorSeleccionado));
       // System.out.println(book.getClave());
    return "LibroConfirmar";
    }
//-----------------Acciones------------------------------
    public String procesarAccion(){
        if(accion.equalsIgnoreCase("Nuevo")
                ){
       libroBL.register(book);
        }
        else
        if(accion.equalsIgnoreCase("Editar")){
           libroBL.modify(book);
        }
        else if(accion.equalsIgnoreCase("Eliminar")){
           libroBL.delete(book);
        }
        accion="";
    return "Libro";
    }
    
    
   public String limpiarAccion(){
   book=new Libro();
 
   return "LibroEditarCrear";
    }
//-----------------Listener------------------------------

public void prepararNuevo(ActionEvent evt){
  
book=new Libro();
accion="Nuevo";
}
public void prepararEditar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
 n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    book=lista.get(n);
    accion="Editar";
}     


public void prepararEliminar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
 n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    book=lista.get(n);
    accion="Eliminar";
}    
 
    
    
    
}

